The present invention pertains to a method and device for managing addressing functions in computers containing integrated circuits and similar electrical devices. More specifically, a method and device are provided for adjusting electrical device address identifications (IDs) and routing data for multiple electrical devices.
A codec (coder/decoder) is an integrated circuit or other electronic circuitry combining the circuits needed to convert digital signals into analog signals and to convert analog signals into digital signals. Audio codecs are used in computers, for example, on modem (modulator/demodulator) and sound cards to convert digital signals that can be read and stored by the computer into analog signals that can be transmitted over telephone wires or output to speakers for sound. Codecs on these devices also convert incoming signals from telephone wires or input sound signals, into a digital format that can be read, understood, and stored by the computer.
Traditionally, audio and modem hardware has been provided on separate boards that plug into a computer motherboard via industry standard expansion slots, for example, peripheral component interconnect (PCI) input/output expansion slots. See PCI Specification, Rev. 2.2 (1998) (xe2x80x9cPCI Specificationxe2x80x9d), PCI Special Interest Group, Hillsboro, Oreg. Examples of these include modem cards and sound cards. Advantages in computer system design and production can be gained by providing audio and modem hardware on the computer system motherboard itself. The desktop system manufacturer can implement audio and/or modem solutions on the motherboard at lower cost and thereby make standard expansion slots in the system available for other additional plug-in peripherals. This design is described by the Audio Codec ""97 Specification, version 2.1 (xe2x80x9cAC ""97 Specificationxe2x80x9d), published by Intel Corporation, Santa Clara, Calif. The AC ""97 Specification defined a high-quality audio architecture and advanced the migration toward a completely digital audio system, while maintaining support for analog audio sources and analog interconnect for backwards compatibility. The original Audio Codec ""97 specification provided for a two-chip audio solution. The design employed a controller chip and a codec chip, connected by a digital serial link, to process audio and modem signals (e.g., perform digital/analog conversions (DAC) and analog/digital conversions (ADC)).
A disadvantage of providing all the hardware of, for example, a modem on the motherboard is that the entire motherboard design approval and production process may be delayed pending approval of the modem hardware design by the Federal Communications Commission (FCC). This delay could significantly impact a computer manufacturer in the time-sensitive computer market. Furthermore, the modem attach rate in some cases does not warrant placing all the modem architecture xe2x80x9cdownxe2x80x9d on the motherboard. Since there are multiple options for hardware manufacturers to place codecs in different locations, a flexible system is required for addressing codecs and routing codec signals to various components of the computer system.
Various systems exist for identifying and initializing various components that may be installed in computer systems. For example, computer systems employing so-called xe2x80x9cplug-and-playxe2x80x9d technology automatically detect when a new component has been plugged into the computer system. The plug-and-play components store information about their nature and resource requirements in their local non-volatile memories. System software and/or firmware reads the memory entries to determine the type of component and its characteristics, and can reconfigure software programs, including the operating system, to enable use of the new component. See PCI Specification. Systems such as these can be used to eliminate the need for a user to set switches or jumpers or to perform other difficult system configuration tasks.
An example of the use of a digital signal to auto detect the presence or absence of a hardware component is a presence detect signal for a memory chip (e.g., a dynamic random access memory (DRAM) dual in-line memory module (DIMM)). A presence detect signal is a means of identifying a memory chip to the memory controller logic of a computer system, using a pin on the memory chip to indicate presence detect information. For example, the Serial Presence Detect (SPD) scheme uses a serial EEPROM (electrically erasable, programmable, read-only memory) to store the presence detect information for a DRAM DIMM and requires only two pins (one for clocking it and one for data). Presence pins and their associated EEPROM, located on a DIMM module, indicate the presence or absence of the DIMM to the system motherboard.
None of these systems, however, provide a solution to the problem of allocating resources (e.g., bus resources) and managing addresses in, e.g., a multi-codec environment.
In one embodiment of the present invention, a method and device are provided for managing a group of electrical devices in a computer system including a group of electrical devices, an address ID module connected to each of said electrical devices, a routing module connected to at least one of said electrical devices, and an electrical device controller connected to the routing module. In this embodiment, the method includes the step of providing a presence signal, input to the address ID module and the routing module, to indicate whether one of the group of electrical devices is located on a motherboard. If the presence signal indicates that one of the group of electrical devices is located on the motherboard, the method includes the steps of operating the address ID module to assign a primary address to the electrical device located on the motherboard, and to assign a secondary address to at least one of the group of electrical devices (other than the electrical device located on the motherboard), and operating the routing module to route an output signal from at least one of the group of electrical devices (other than said electrical device located on the motherboard) to at least one input of the controller adapted for input from a secondary electrical device.